<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Tootal World</title>
	<link rel="icon" type="image/x-ico" href="image/logo.ico" />
	<link rel="stylesheet" type="text/css" href="css/main.css">
	<!-- <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> -->
	<script type="text/javascript" src="js/jquery.min.js"></script>
	<!-- <script src="https://cdn.bootcss.com/marked/0.6.2/marked.min.js"></script> -->
	<script type="text/javascript" src="js/main.js"></script>
</head>
<body>
	<nav class="nav">
		<a href="/" class="nav-brand">
			<img src="image/logo.ico" height="50px">
			Tootal World
		</a>
		<div class="nav-content">
			<ul class="nav-list">
				<li id="nav-blog" class="nav-item nav-left" onclick="nav_blog()">
					<a class="nav-link" href="javascript:void(0)">Blog</a>
				</li>
				<li id="nav-message" class="nav-item nav-left">
					<a class="nav-link" href="message/index.jsp">Message</a>
				</li>
				<li id="nav-awesome" class="nav-item nav-left">
					<a class="nav-link" href="javascript:void(0)">Awesome</a>
					<div class="dropdown-menu">
						<ul>
							<li>
								<a class="dropdown-item" href="javascript:void(0)">Solar System</a>
							</li>
							<li>
								<a class="dropdown-item" href="javascript:void(0)">Stack Game</a>
							</li>
						</ul>
					</div>
				</li>
				<li id="nav-user1" class="nav-item nav-right">
					<a class="nav-link" href="javascript:void(0)"></a>
				</li>
				<li id="nav-user2" class="nav-item nav-right">
					<a class="nav-link" href="javascript:void(0)"></a>
				</li>
			</ul>
		</div>
		
	</nav>
	<div class="content" id="content">
		<h2>《阮一峰：黑客的含义——＜黑客与画家＞的译者序》</h2>

<h3>一</h3>
<p>
您现在拿在手里的，是一本非常重要、也非常独特的书籍。

它的作者是美国互联网界举足轻重、有“创业教父”之称的哈佛大学计算机博士 Paul Graham。本书是他的文集。

这本书的内容并不深奥，不仅仅是写给程序员和创业者的，更是写给普通读者的。Paul Graham 最大的目的，就是通过这本书，让普通读者理解我们所处的这个计算机时代。

1968年~1972年期间，美国出版过一本叫做《地球商品目录》（Whole Earth Catalog）的杂志，内容从植物种子到电子仪器，无所不包，出版目的据说是要帮助读者“理解整个系统”（Understanding Whole Systems）。多年后，苹果公司的总裁乔布斯盛赞它“有点像印刷版的 Google”。从某种意义上说，《黑客与画家》也是如此，这本书试图从许许多多不同的方面，解释这个时代的内在脉络，揭示它的发展轨迹，帮助你看清我们现在的位置和将来的方向。

</p>
<h3>二</h3>
<p>

电子技术的发展，使得计算机日益成为人类社会必不可少的一部分。

每个人的日常生活，很大一部分都在与计算机打交道。家用电表是智能的，通信网络是程控的，信用卡是联网的，就连点菜都会用到电子菜单。越来越多的迹象表明，未来的人类生活不仅是人与人的互动，更多的将是人与计算机的互动。

想要把握这个时代，就必须理解计算机。理解计算机的关键，则是要理解计算机背后的人。表面上，这是一个机器的时代。但是实际上，机器的设计者决定了我们的时代。程序员的审美，决定了你看到的软件界面；程序员的爱好，决定了你有什么样的软件可以使用。

我们的时代是程序员主导的时代，而伟大的程序员，就是黑客。

《黑客与画家》这本书，就是帮助你了解黑客、从而理解这个时代的一把钥匙。

</p>
<h3>三</h3>
<p>

在媒体和普通人的眼里，“黑客”就是入侵计算机的人，就是“计算机犯罪”的同义词。但是，这并不是它的真正含义（至少不是原意），更不是本书所使用的含义。

要想读懂这本书，首先就必须正确理解什么是“黑客”。

为了把这个问题说清楚，有必要从源头上讲起。1946年，第一台电子计算机 ENIAC 在美国诞生，从此世界上一些最聪明、最有创造力的人，开始进入这个行业，在他们身上，逐渐地形成了一种独特的技术文化。在这种文化的发展过程中，涌现了很多“行话”（jargon）。60年代初，麻省理工学院有一个学生团体，叫做“铁路模型技术俱乐部”（Tech Model Railroad Club，简称 TMRC），他们把难题的解决方法称为hack。

在这里，hack 作为名词，有两个意思，既可以指很巧妙或很便捷的解决方法，也可以指比较笨拙、不那么优雅的解决方法。两者都能称为 hack，不同的是，前者是漂亮的解决方法（cool hack 或 neat hack），后者是丑陋的解决方法（ugly hack 或 quick hack）。hack的字典解释是砍（木头），在这些学生看来，解决一个计算机难题，就好像在砍下一棵大树。那么相应地，完成这种 hack 的过程就被称为动词 hacking，而从事 hacking 的人就是 hacker，也就是黑客。

从这个意思出发，hack 还有一个引申义，指对某个程序或设备进行修改，使其完成原来不可用的功能（或者禁止外部使用者接触到的功能）。在这种意义上，hacking 可以与盗窃信息、信用卡欺诈或其他计算机犯罪联系一起，这也是后来“黑客”（hacker）被当计算机入侵者的称呼的原因。

但是，在六十年代这个词被发明的时候，“黑客”完全是正面意义上的称呼。TMRC 使用这个词，带有敬意，因为在他们看来，如果要完成一个 hack，就必然包含着高度的革新、独树一帜的风格、精湛的技艺。最能干的人会自豪地称自己为黑客。

这时，“黑客”这个词不仅是第一流能力的象征，还包含着追求解决问题过程中产生的精神愉悦或享受。也就是说，从一开始，黑客就是有精神追求的。自由软件基金会创始人 Richard Stallman 说：
“出于兴趣，解决某个难题，不管它有没有用，这就是黑客。”
（Playfully doing something difficult, whether useful or not, that is hacking.）

</p>
<h3>四</h3>
<p>

根据 Richard Stallman 的说法，黑客行为必须包含三个特点：好玩（playful）、高智商（cleverness）、探索精神（exploration）。只有行为同时满足这三个标准，才能被称为“黑客”。另一方面，它们也构成了黑客的价值观，黑客追求的就是这三种价值，而不是实用性或金钱。

1984年，《新闻周刊》的记者 Steven Levy 出版了历史上第一本介绍黑客的著作《黑客——计算机革命的英雄》（Hackers: Heroes of the Computer Revolution）。在该书中，他进一步将黑客的价值观，总结为六条“黑客伦理”（hacker ethic），直到今天都被视为这方面的最佳论述：
</p>
<ol>
	<li>
使用计算机，不应受到任何限制。任何事情都应该亲手尝试。 <br>
（Access to computers--and anything that might teach you something about the way the world works--should be unlimited and total. Always yield to the Hands-On Imperative!）
	</li>
	<li>
信息应该全部免费。	<br>
（All information should be free.）
	</li>
	<li>
		
不信任权威，提倡去中心化。 <br>
（Mistrust Authority--Promote Decentralization.）

	</li>
	<li>
		
判断一个人应该看他的技术能力，而不是看其他标准。 <br>
（Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.）

	</li>
	<li>
你可以用计算机创造美和艺术。 <br>
（You can create art and beauty on a computer.）
		
	</li>
	<li>
		
计算机使生活更美好。 <br>
（Computers can change your life for the better.）

	</li>
</ol>
<p>
根据这六条“黑客伦理”，黑客价值观的核心原则可以概况成这样几点：分享（Sharing）、开放（Openness）、民主（Decentralization）、计算机的自由使用（Free access to computers）、进步（World Improvement）。

所以，“黑客”这个词的原始含义，就是指那些信奉“黑客伦理”、而且能力高超的程序员。历史上一些最优秀的程序员，都是“黑客”。除了上文提到的 Richard Stallman，还包括 Unix 操作系统创始人 Dennis Ritchie 和 Ken Thompson、经典巨著《计算机程序设计的艺术》的作者斯坦福大学计算机教授 Donald Knuth、Linux 操作系统创始人 Linus Torvalds、“开源运动”创始人 Eric S. Raymond、微软公司创始人 Bill Gates 等等。正是黑客把计算机工业推向了更高的高度。

</p>
<h3>五</h3>
<p>

“黑客伦理”的一个必然推论，就是黑客不服从管教，具有叛逆精神。

黑客通常对管理者强加的、限制他们行为的愚蠢规定不屑一顾，会找出规避的方法。一部分原因是为了自由使用计算机，另一部分原因是为了显现自己的聪明。比如，计算机设备的各种安全措施，就是最常被黑客破解的东西。Steven Levy 对这一点，有过一段生动的描述：

“对于黑客来说，关着的门就是一种挑衅，而锁着的门则是一种侮辱。......黑客相信，只要有助于改进现状、探索未知，人们就应该被允许自由地使用各种工具和信息。当一个黑客需要一样东西，来帮助自己创造、探索、或者改正某种设备时，他不会自找麻烦，接受那些财产专有权的荒谬概念。”

这就是黑客有时会入侵计算机系统的原因，他们的主要目的并不是侵犯别人的利益，这与那些计算机罪犯是不同的。

但是，上个世纪80年代初，事情发生了变化。

1983年，一帮密尔沃基州的青少年黑客入侵了美国和加拿大的一些计算机系统，这件事被广泛报道，同年9月5日的《新闻周刊》（Newsweek）封面报道的标题就是“小心：黑客在行动”（Beware: Hackers at play），这是历史上主流媒体第一次使用“黑客”这个词。在报道的时候，媒体只注意和强调黑客行为一个很窄的方面：入侵系统。（可能因为这种行为容易引起公众的注意，提升报道的关注度。）他们把黑客简单定义为：入侵系统、破坏安全设施的人。从此，大多数人对于黑客有了错误的看法。同时，那些入侵计算机的程序员也自称“黑客”，使得这个问题进一步变得复杂。

杂志、电视剧、电影、小说都对黑客的这种形象大肆渲染。黑客成了反社会的技术高手的代名词，仿佛只要他坐在键盘前，就有一种从事犯罪活动的魔力，可以操纵任何与网络相连的机器，从核弹到车库大门，都在黑客敲打键盘的操作之中被控制。根据这种观点，黑客在最好的情况下是一个没有认识到自己能力的清白的人，在最坏的情况下则是一个恐怖分子。在过去几年中，随着计算机病毒的泛滥，黑客在大众心目中已经成了一种有害的人群。

那些传统意义上的黑客，不认同这样使用“黑客”这个词。他们认为，历史上确实有一些正直的黑客，为了亲自动手了解系统，做过违反法规的入侵举动。但是，那些人并没有恶意，而且从一开始，恶作剧就是黑客文化的一部分，仅仅由此推断入侵和破坏系统就是黑客文化的实质，完全是错误的观点。真正的黑客，致力于改变世界，让世界运转得美好。媒体对黑客的定义，未免过于片面。

为了澄清“黑客”这个概念，他们提出只有传统意义上的黑客，才能被称为 hacker，而那些恶意入侵计算机系统的人，应该被称为 cracker（入侵者）。这个观点已经在程序员社区中，得到普通认同。

《黑客与画家》正是在这个意义上，使用“黑客”这个词。在本书中，“黑客”就是指最优秀的程序员，而不是入侵计算机系统的人。

</p>
<h3>六</h3>
<p>

为了帮助读者理解黑客，全书十五章可以大致分成三个部分。
第一部分：从第一章到第四章，解释了黑客是如何成长的，以及他们看待世界的一些观点。
第二部分：从第五章到第九章，解释了黑客怎样做出自己的成果，这些成果又是怎样对全世界产生了影响。
第三部分：从第十章到第十五章，解释了黑客的工具（编程语言）和工作方法，这是黑客文化的基础和核心。

Paul Graham 想让公众了解，黑客并不神秘，更不是技术怪人。《黑客与画家》这个书名，就是在提示应该把黑客与画家当作同一种人看待。和画家一样，黑客只是怀有一门特殊手艺、有创造天赋的普通人。这个书名还有另一层含义，提出编程是一种艺术创作，黑客就是艺术家，开发软件与画家作画、雕塑家雕刻、建筑师设计房屋并没有本质不同。

总之，这是一本帮助你理解这个时代的书。Paul Graham 想教给你的，其实是新思想。读完以后，你看待世界的眼光，很可能会完全不同。如果你想在21世纪立足，理解这一次新的技术革命，做一个掌握自己命运的成功者，我建议你读这本书。

</p>
<h3>七</h3>
<p>

翻译过程中，我已经尽了最大努力，力求把原文忠实、清晰地译成中文。本书的一些章节，Paul Graham 谈论的都是计算机行业的专业问题，但是他又希望让普通读者看懂，试图用口语化、生活化的语言解释专业概念，我个人感觉效果不太理想，反而使得行文稍显冗余和模糊，这一点提醒读者注意。总的来说，这是一本计算机行业的经典著作，2004年在美国出版后一直畅销不衰，深受好评，很多读者都被作者的远见卓识折服。

最后，本书第十三章涉及 Lisp 语言的部分，曾请田春帮助校译，在此表示衷心感谢。

</p>

	</div>
	<div id="UserInfoModal" class="modal">
		<div id="ModalHeader" class="ModalHeader">
			<div class="ModalTitle">User</div>
			<div id="ModalClose" class="ModalClose">
				<button class="close" type="button" onclick="$('#UserInfoModal').css('display','none');">
					X
				</button>
			</div>
		</div>
		<div class="ModalContent">
		</div>
	</div>
	<div id="InfoModal" class="modal">
		<div id="ModalHeader" class="ModalHeader">
			<div class="ModalTitle">Information</div>
			<div id="ModalClose" class="ModalClose">
				<button class="close" type="button" onclick="$('#InfoModal').css('display','none');">
					X
				</button>
			</div>
		</div>
		<div class="ModalContent">
		</div>
	</div>
	<div id="LoginModal" class="modalCover">
		<div id="LoginDialog" class="modal">
			<div id="ModalHeader" class="ModalHeader">
				<div class="ModalTitle">Login</div>
				<div id="ModalClose" class="ModalClose">
					<button class="close" type="button" onclick="$('#LoginModal').css('display','none');">
						X
					</button>
				</div>
			</div>
			<div class="ModalContent">
				<form action="login.php" method="post">
					<input type="text" name="username" placeholder="Username" /><br>
					<input type="password" name="password" placeholder="Password" /><br>
				</form>
			</div>
			<div class="ModalFooter">
				<button class="ModalButton" type="button" onclick="login()">Login</button>
			</div>
		</div>
	</div>
	
	<div id="RegisterModal" class="modalCover">
		<div id="RegisterDialog" class="modal">
			<div id="ModalHeader" class="ModalHeader">
				<div class="ModalTitle">Register</div>
				<div id="ModalClose" class="ModalClose">
					<button class="close" type="button" onclick="$('#RegisterModal').css('display','none');">
						X
					</button>
				</div>
			</div>
			<div class="ModalContent">
				<form>
					<input type="text" name="username" placeholder="Username" /><br>
					<input type="password" name="password" placeholder="Password" /><br>
					<input type="password" name="repeat_password" placeholder="Repeat Password" /><br>
				</form>
			</div>
			<div class="ModalFooter">
				<button class="ModalButton" type="button" onclick="register()">Register</button>
			</div>
		</div>
	</div>
	<div class="footer" id="footer">
		<p>
			<a href="http://icp.chinaz.com/info?q=tootal.xyz" target="_blank">
				赣ICP备18016795号-1
			</a>
		</p>
		<p>
			All Copyright Reserved © 2019
			<a href="mailto:tootal@yeah.net" target="_blank">
				Tootal
			</a>
		</p>
		<p>
			Time: <span id="footerTime"></span>
		</p>
	</div>
</body>
</html>